<?php
/**
 * 格式化静态类
 *
 * @author will
 * @version $Id$
 */

class Format
{
	/**
	 * 去掉字符串中，非 a-z 的字母
	 * @param <string> $str
	 * @return <string>
	 */
	static function alpha($str) {
		$str = preg_replace("/[^a-zA-Z]/" , '' , $str);
		return $str;
	}

	/**
	 * 时间戳格式化
	 * @param <int> $ts
	 * @param <string> $format_type
	 */
	static function time($ts , $format = 'diff') {
		$ts = intval($ts);
		$cur_ts = isset($_SERVER['REQUEST_TIME']) ? $_SERVER['REQUEST_TIME'] : time();
		if($ts == 0) {
			$ts = $cur_ts;
		}
		
		switch ($format) {
			case 'diff' :
				$cur_offset = ($cur_ts + 28800) / 86400;  // 时区 +8
				$last_offset = ($ts + 28800) / 86400;
				$today_offset = floor($cur_offset);
				
				if ( $last_offset >= $today_offset ) {
					return date('H:i' , $ts);
				} else if( $last_offset >= ($today_offset - 1) ) {
					return '昨天 ' . date('H:i' , $ts);
				} else {  // 以前
					return date("m-d H:i" , $ts);
				}
			break;
			
			case 'day' :
				return date('Y-m-d' , $ts);
			break;
			
			// 使用传进来的格式
			default :
				return date($format , $ts);
			break;
		}
	}

	/**
	 * UBB
	 */
	static function ubb($str) {		
		// 链接
		// $str = preg_replace("#\[url\](.+?)\[/url\]#is","<a href=\"\\1\" target=\"_blank\">\\1</a>" , $str);
		// $str = preg_replace("#\[url=(.+?)\](.+?)\[/url\]#is","<a href=\"\\1\" target=\"_blank\">\\2</a>" , $str);
		
		// 图片
		$str = preg_replace("#\[img\](.+?)\[/img\]#is","<img src=\"\\1\" />" , $str);
		$str = preg_replace("#\[img=(.+?)\]\[/img\]#is","<img src=\"\\1\" />" , $str);
		
		$str = preg_replace("#\[b\](.+?)\[/b\]#is","<strong>\\1</strong>" , $str);
 
		return $str;
	}

	/**
	 * json 数据返回格式
	 * @param <int> $code
	 * @param <string> $msg
	 * @param <array> $result
	 */
	static function json_return($code , $msg = '' , $result = array()) {
		return json_encode( array(
			'code' => $code,
			'msg' => $msg,
			'result' => $result,
		) );
	}
}

# end of script






